One of the largest problems facing the Internet infrastructure comes from the enormous growth of the Internet routing tables. For example, a router may have more than 200,000 routes stored in its routing table. In order to implement packet forwarding and filtering, a router is required to perform lookup operations on its access control list based on the source and destination IP address from incoming IP packets. Thus, the ability to efficiently implement packet forwarding and filtering presents a significant challenge to system designers and network operators.